Virtual assistants, also known as automated online assistants, are systems that use artificial intelligence to provide a dialog with a user in order to respond to user queries. For example, companies often make use of virtual assistants to provide a form of customer interface, allowing many types of customer queries to be resolved without human intervention.
The capacity of a virtual assistant to be able to respond to a client query, and the extent to which the response adequately resolves the query, will depend on the knowledge base and programmed competences of the virtual assistant. In particular, virtual assistants generally operate by applying programmed rules when responding to user queries. These rules determine the scope of queries that may be addressed by the virtual assistant, and the depth of the response that is provided.
To improve user satisfaction, there is a need in the art for virtual assistants capable of adequately handling a broader range of user queries. However, there are technical difficulties in meeting such a need without significantly increasing the processing and data storage resources of the virtual assistant. Additionally, an organization may want to make available a virtual assistant that has a knowledge base and programmed competences directed to products or services not directly produced by it. For instance, a retail sales company may want to provide a virtual assistant to answer questions regarding products it sells. However, maintaining such a virtual assistant can be costly and inefficient due to a constant need to update its knowledge base and programmed competences.